Skip to content

Slice 1 (3/4): task service REST API + liveness protocol + artifacts - #3

Merged
tildesrc merged 1 commit into
mainfrom
slice1/03-task-service
Jun 15, 2026
Merged

Slice 1 (3/4): task service REST API + liveness protocol + artifacts#3
tildesrc merged 1 commit into
mainfrom
slice1/03-task-service

Conversation

@tildesrc

@tildesrc tildesrc commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Third of four stacked PRs for Slice 1. The task service API contract (contracts #3 and #4).

  • TaskService — deterministic orchestration; transition enforcement via the engine; liveness registrations.
  • FastAPI REST API — repos, tasks, transitions, slug, artifacts, liveness (register/heartbeat/deregister), discovery; domain errors → HTTP codes.
  • Artifact store (interface + filesystem adapter + id→path→MCP-URI resolver, ADR 0003).
  • MCP surface contract defined (server wired in Slice 2).

Stacked; base is slice1/02-persistence. Adds fastapi/uvicorn/httpx.

🤖 Generated with Claude Code

@tildesrc
tildesrc force-pushed the slice1/02-persistence branch from d6294a0 to f627a51 Compare June 12, 2026 17:34
@tildesrc
tildesrc force-pushed the slice1/03-task-service branch from 12ec457 to 07b7858 Compare June 12, 2026 17:34
@tildesrc
tildesrc force-pushed the slice1/02-persistence branch from f627a51 to 72324c3 Compare June 12, 2026 18:35
@tildesrc
tildesrc force-pushed the slice1/03-task-service branch from 07b7858 to 7158983 Compare June 12, 2026 18:35
@tildesrc
tildesrc force-pushed the slice1/02-persistence branch from 72324c3 to f4b127f Compare June 12, 2026 19:02
@tildesrc
tildesrc force-pushed the slice1/03-task-service branch from 7158983 to 819559e Compare June 12, 2026 19:02
@tildesrc
tildesrc force-pushed the slice1/02-persistence branch from f4b127f to 41d4b3a Compare June 12, 2026 19:07
@tildesrc
tildesrc force-pushed the slice1/03-task-service branch 2 times, most recently from 9688647 to 0b112f5 Compare June 12, 2026 21:17
@tildesrc
tildesrc force-pushed the slice1/02-persistence branch from 41d4b3a to 00a9d5b Compare June 12, 2026 21:17
@tildesrc
tildesrc force-pushed the slice1/03-task-service branch from 0b112f5 to 8961ac5 Compare June 12, 2026 22:08
@tildesrc
tildesrc force-pushed the slice1/02-persistence branch from 00a9d5b to 615c7be Compare June 12, 2026 22:08
@tildesrc
tildesrc force-pushed the slice1/03-task-service branch from 8961ac5 to 89c1d21 Compare June 14, 2026 15:11
@tildesrc
tildesrc force-pushed the slice1/02-persistence branch 2 times, most recently from 21fe057 to f1fafbc Compare June 14, 2026 15:25
@tildesrc
tildesrc force-pushed the slice1/03-task-service branch from 89c1d21 to 0405e77 Compare June 14, 2026 15:25
@tildesrc
tildesrc force-pushed the slice1/02-persistence branch from f1fafbc to 61da990 Compare June 14, 2026 16:05
@tildesrc
tildesrc force-pushed the slice1/03-task-service branch from 0405e77 to 545ac23 Compare June 14, 2026 16:05
@tildesrc
tildesrc force-pushed the slice1/02-persistence branch from 61da990 to ffb1d50 Compare June 14, 2026 16:15
@tildesrc
tildesrc force-pushed the slice1/03-task-service branch from 545ac23 to 2dbe3ad Compare June 14, 2026 16:15
@tildesrc
tildesrc force-pushed the slice1/02-persistence branch from ffb1d50 to 3865076 Compare June 14, 2026 17:17
@tildesrc
tildesrc force-pushed the slice1/03-task-service branch from 2dbe3ad to c1e0010 Compare June 14, 2026 17:17
@tildesrc
tildesrc force-pushed the slice1/02-persistence branch from 3865076 to bde155e Compare June 14, 2026 17:33
@tildesrc
tildesrc force-pushed the slice1/03-task-service branch 2 times, most recently from 3ecbcae to 6605c95 Compare June 14, 2026 17:38
@tildesrc
tildesrc force-pushed the slice1/02-persistence branch 4 times, most recently from 55ebe58 to 4c3afe7 Compare June 14, 2026 18:31
@tildesrc
tildesrc force-pushed the slice1/02-persistence branch 3 times, most recently from 784870d to 03fe50e Compare June 14, 2026 19:00
@tildesrc
tildesrc force-pushed the slice1/03-task-service branch from 6605c95 to f22d879 Compare June 14, 2026 19:11
@tildesrc
tildesrc force-pushed the slice1/02-persistence branch from 03fe50e to 729e5b3 Compare June 15, 2026 00:24
@tildesrc
tildesrc force-pushed the slice1/03-task-service branch from f22d879 to 68afdd0 Compare June 15, 2026 00:24
Comment thread src/panopticon/core/artifacts.py
@tildesrc
tildesrc force-pushed the slice1/02-persistence branch from 729e5b3 to 61f03c8 Compare June 15, 2026 00:33
@tildesrc
tildesrc force-pushed the slice1/03-task-service branch from 68afdd0 to e1cf4b4 Compare June 15, 2026 00:34
@tildesrc
tildesrc changed the base branch from slice1/02-persistence to main June 15, 2026 00:34
@tildesrc
tildesrc force-pushed the slice1/03-task-service branch from e1cf4b4 to 8961047 Compare June 15, 2026 00:44
Comment thread src/panopticon/taskservice/service.py Outdated
@tildesrc
tildesrc force-pushed the slice1/03-task-service branch from 8961047 to 550f2b2 Compare June 15, 2026 00:50
…ontract

Slice 1, PR 3 of 4 — the task service API contract.

- panopticon.taskservice.service.TaskService: deterministic orchestration over the
  repository — tasks, transition enforcement (via the engine), slug, artifacts, and
  ephemeral liveness registrations. Injectable clock + id factory for test determinism.
- panopticon.taskservice.api: FastAPI app factory exposing repos, tasks, transitions
  (with per-responsibility settlement on the wire), slug, artifacts, liveness, and
  discovery, with domain exceptions mapped to HTTP status codes.
- panopticon.core.artifacts + taskservice.artifacts_fs: the artifact-store interface, the
  filesystem adapter, and the shared id->path->MCP-URI resolver (ADR 0003).
- panopticon.taskservice.mcp: the MCP surface contract (resource URI scheme + tool
  specs), defined now; the server is wired when real containers connect (Slice 2).

Adds fastapi + uvicorn (runtime) and httpx (dev, for TestClient).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@tildesrc
tildesrc force-pushed the slice1/03-task-service branch from 550f2b2 to de83f4e Compare June 15, 2026 00:57
@tildesrc
tildesrc merged commit 66e4bb9 into main Jun 15, 2026
1 check passed
@tildesrc
tildesrc deleted the slice1/03-task-service branch June 15, 2026 01:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant